package delegate4j;

import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;

public class InvokeData {

    private Object sender;
    private Object[] args;
    private Object result;

    public InvokeData(@NotNull Object sender) {
        this.sender = sender;
        this.args = null;
        this.result = null;
    }

    public InvokeData(@NotNull Object sender, @Nullable Object[] args) {
        this.sender = sender;
        this.args = args;
        this.result = null;
    }


    public InvokeData(@NotNull Object sender, @Nullable Object[] args, @Nullable Object result) {
        this.sender = sender;
        this.args = args;
        this.result = result;
    }

    public Object getSender() {
        return sender;
    }

    public Object[] getArgs() {
        return args;
    }

    public Object getResult() {
        return result;
    }
}
